package eu.web.security.access;

import java.util.HashSet;
import java.util.Set;

/**
 * 用户访问权限类
 * 
 * @author 吴振振
 * 
 */
public class AccessIdentity {
	private Set<String> powers=new HashSet<String>();
	private UserEntity user=null;
	
	/**
	 * 增加权限
	 * @param power
	 */
	public void addPower(String power){
		powers.add(power);
	}

	/**
	 * 检测是否拥有此权限
	 * @param power
	 * @return 是否拥有
	 */
	public boolean hasThisPower(String power){
		return powers.contains(power);
	}

	/**
	 * 获取用户实体
	 */
	public UserEntity getUser() {
		return user;
	}

	/**
	 * 设置用户实体
	 * @param user
	 */
	public void setUser(UserEntity user) {
		this.user = user;
	}
	
	/**
	 * 清空用户权限和实体，常用于用户登出时
	 */
	public void clear(){
		powers.clear();
		user=null;
	}
	
	/**
	 * 清除此权限
	 * @param power
	 */
	public void removePower(String power){
		powers.remove(power);
	}
}
